//
//  SEGPGCDetailViewModel.h
//  SEGWebView-SEGWebView
//
//  Created by Clavis on 2020/6/11.
//

#import <Foundation/Foundation.h>
#import "SEGPGCFixViewModel.h"
typedef NS_ENUM(NSUInteger, SEGPGCCellDisplayType) {
    SEGPGCCellDisplayType_LikeList,
    SEGPGCCellDisplayType_TencenAD,
    SEGPGCCellDisplayType_HotComment,
    SEGPGCCellDisplayType_Comment
};

@interface SEGPGCDetailViewModel : NSObject

#pragma mark - 初始化复制参数
@property (nonatomic, copy) NSString *pgcID;
@property (nonatomic, copy) NSString *objType;

#pragma mark - 信号量
/// 请求PGC详情
@property (nonatomic, strong) RACSignal *requestDetailSignal;
/// 请求点赞列表
@property (nonatomic, strong) RACSignal *requestLikeListSignal;
/// PGC点赞 & 取消点赞
@property (nonatomic, strong) RACCommand *pgcLikeCommand;
/// 请求普通评论列表信号量
@property (nonatomic, strong) RACSignal *requestCommentListSignal;
/// 请求热门评论信号量
@property (nonatomic, strong) RACSignal *requestHotCommentListSignal;
/// 发送评论（PGC评论 对评论进行评论 对评论子评论评论）
@property (nonatomic, strong) RACCommand *sendCommentCommand;
/// 评论的点赞和取消
@property (nonatomic, strong) RACCommand *commentPariseCommand;
/// 删除评论
@property (nonatomic, strong) RACCommand *deleteCommetCommand;
/// 刷新数据用的Subject
@property (nonatomic, strong) RACSubject *updateDataSubject;

#pragma mark - 态度模式处理
/// 态度模式的喜欢和讨厌
@property (nonatomic, strong) RACCommand *postAttributeCommand;
/// 态度模式最后一页请求更多推荐数据
@property (nonatomic, strong) RACSignal *requestRecommendListSignal;

#pragma mark - 频道主站
@property (nonatomic, strong) RACCommand *requestChannelListCommand;

#pragma mark - 数据
/// 喜欢列表数据
@property (nonatomic, strong, readonly) SEGPGCFixViewModel *fixModel;
/// 普通评论总数
@property (nonatomic, assign, readonly) NSInteger totalComment;

/// 是否是加载第一页普通评论数据
- (BOOL)isLoadFistCommentPage;

@end

